home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / game / patch / WHDIDemos.lzh / Axis_PictureBook.lha / PictureBookHD / Install next >
Text File  |  2002-04-28  |  9KB  |  340 lines

  1. ;****************************
  2.  
  3. (set #readme-file "ReadMe")        ;name of readme file
  4. (set #man-file "Manual")        ;name of manual file
  5. (set #hint-file "Hints")        ;name of hint file
  6. (set #sol-file "Solution")        ;name of solution file
  7. (set #highs-file "highs")        ;name of high scores file
  8. (set #prefix @app-name)            ;name of slave, directory
  9.  
  10. (procedure P_MakeImages
  11.  
  12.   ;the following lines must be copied and adjusted for multiple disk images
  13.  
  14.   (set #CI_disknum 1)
  15.   (set #CI_diskname ("%s Disk %ld" @app-name #CI_disknum))
  16.   (set #CI_disklen 901120)
  17.   (set #CI_skiptrk "")
  18.   (P_CreateImage)
  19.  
  20.   (set #CI_disknum 2)
  21.   (set #CI_diskname ("%s Disk %ld" @app-name #CI_disknum))
  22.   (set #CI_disklen 901120)
  23.   (set #CI_skiptrk "")
  24.   (P_CreateImage)
  25.  
  26.   (set #CI_disknum 3)
  27.   (set #CI_diskname ("%s Disk %ld" @app-name #CI_disknum))
  28.   (set #CI_disklen 901120)
  29.   (set #CI_skiptrk "")
  30.   (P_CreateImage)
  31.  
  32.   (set #CI_disknum 4)
  33.   (set #CI_diskname ("%s Disk %ld" @app-name #CI_disknum))
  34.   (set #CI_disklen 901120)
  35.   (set #CI_skiptrk "")
  36.   (P_CreateImage)
  37.  
  38.   ;for example...
  39.   ;(set #CI_disknum 2)
  40.   ;(set #CI_diskname ("%s Disk %ld" @app-name #CI_disknum))
  41.   ;(P_CreateImage)
  42.  
  43. )
  44.  
  45. ;****************************
  46. ;----------------------------
  47. ; checks if given program is installed, if not abort install
  48. ; #program - to check
  49.  
  50. (procedure P_ChkRun
  51.   (if (= 0 (run ("cd SYS:\nWhich %s >NIL:" #program)))
  52.     ("")
  53.     (abort
  54.       (cat
  55.     "You must install \"" #program "\" first!\n"
  56.     "It must be accessible via the path.\n"
  57.     "You can find it in the WHDLoad package."
  58.       )
  59.     )
  60.   )
  61. )
  62.  
  63. ;----------------------------
  64. ; Create Image using DIC
  65. ; #dest        - path to save image in
  66. ; #CI_disknum  - number of the disk image to create
  67. ; #CI_diskname - label of the disk
  68. ; #CI_disklen  - length of disk image to create
  69. ; #CI_skiptrk  - track to skip, -1 means no skip
  70. ; #CI_drive    - drive to create image from
  71.  
  72. (procedure P_CreateImage
  73.   (message
  74.     (cat
  75.     "\nInsert \"" #CI_diskname "\" into drive " #CI_drive "!\n\n"
  76.     "(make sure it's the right disk because it will not be checked)"
  77.     )
  78.   )
  79.   (if (= #CI_skiptrk "")
  80.     (set #option "")
  81.     (set #option (cat " SKIPTRACK=" #CI_skiptrk))
  82.   )
  83.   (if
  84.     (= 0
  85.       (run
  86.         (cat
  87.           "cd \"" #dest "\"\n"
  88.           "DIC " #CI_drive " FD=" #CI_disknum " LD=" #CI_disknum " SIZE="
  89.           #CI_disklen #option " PEDANTIC >CON:///1000//CLOSE"
  90.         )
  91.       )
  92.     )
  93.     (run ("FileNote \"%s.%ld\" \"%s\" Quiet" (tackon #dest "disk") #CI_disknum @app-name))
  94.     (abort "\"DIC\" has failed to create a diskimage")
  95.   )
  96. )
  97.  
  98. ;----------------------------
  99. ; copy file including icon if exist
  100. ; #copy-file - name of file to copy
  101.  
  102. (procedure P_CopyFile
  103.   (if (exists #copy-file) (
  104.     (copyfiles
  105.       (help @copyfiles-help)
  106.       (source #copy-file)
  107.       (dest #dest)
  108.     )
  109.     (if (exists ("%s.info" #copy-file)) (
  110.       (copyfiles
  111.         (help @copyfiles-help)
  112.         (source ("%s.info" #copy-file))
  113.         (dest #dest)
  114.       )
  115.       (tooltype
  116.         (dest (tackon #dest #copy-file))
  117.         (noposition)
  118.       )
  119.     ))
  120.   ))
  121. )
  122.  
  123. ;****************************
  124.  
  125. (if (< @installer-version (+ (* 44 65536) 10))
  126.   (
  127.     (message
  128.       (cat
  129.         "Warning: your installer is outdated.\n"
  130.         "Some features of this installation won't be available, "
  131.         "such as icon show and drawer opening. "
  132.         "You have version " (/ @installer-version 65536) "." 
  133.         (BITAND @installer-version 65535) ", recommended is version 44.10. "
  134.         "The 'installer' 44.10 comes with OS 3.5 but is also contained in the NDK 3.9. "
  135.         "You may also use the InstallerNG by Jens Tröger."
  136.         "\n\n"
  137.         "The installers can be obtained from the net:\n"
  138.         "http://www.amiga.com/3.9/download/NDK3.9.lha\n"
  139.         "aminet:util/sys/InstallerNG.lha"
  140.       )
  141.     )
  142.     (set #newstuff 0)
  143.   )
  144.   (set #newstuff 1)
  145. )
  146.  
  147. (if (exists #readme-file)
  148.   (if (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
  149.     ("")
  150.     (run ("SYS:Utilities/More %s" #readme-file))
  151.   )
  152. )
  153.  
  154. (set #program "WHDLoad")
  155. (P_ChkRun)
  156.  
  157. (set #program "DIC")
  158. (P_ChkRun)
  159.  
  160. (if (= @user-level 2)
  161.   (
  162.     (set #CI_drive
  163.       (askchoice
  164.     (prompt "Select source drive for diskimages")
  165.     (default 0)
  166.     (choices "DF0:" "DF1:" "RAD:" "Enter Device")
  167.     (help @askchoice-help)
  168.       )
  169.     )
  170.     (select #CI_drive
  171.       (set #CI_drive "DF0:")
  172.       (set #CI_drive "DF1:")
  173.       (set #CI_drive "RAD:")
  174.       (set #CI_drive
  175.         (askstring
  176.           (prompt "Select source drive for diskimages")
  177.           (default "DF0:")
  178.           (help @askstring-help)
  179.         )
  180.       )
  181.     )
  182.   )
  183.   (set #CI_drive "DF0:")
  184. )
  185.  
  186. (if (getenv "WHDLInstPath")
  187.   (set @default-dest (getenv "WHDLInstPath"))
  188. )
  189. (set #dest
  190.   (askdir
  191.     (prompt
  192.       (cat
  193.     "Where should \"" @app-name "\" be installed?\n"
  194.     "A drawer \"" #prefix "\" will be automatically created."
  195.       )
  196.     )
  197.     (help @askdir-help)
  198.     (default @default-dest)
  199.   )
  200. )
  201. (run ("setenv WHDLInstPath \"%s\"\ncopy ENV:WHDLInstPath ENVARC:" #dest))
  202. (set #dest (tackon #dest #prefix))
  203. (if (exists #dest) (
  204.   (set #choice
  205.     (askbool
  206.       (prompt
  207.         (cat
  208.           "\nDirectory \"" #dest "\" already exists.\n"
  209.           "Should it be deleted?"
  210.         )
  211.       )
  212.       (default 1)
  213.       (choices "Delete" "Skip")
  214.       (help @askbool-help)
  215.     )
  216.   )
  217.   (if (= #choice 1)
  218.     (delete #dest
  219.       (help @delete-help)
  220.       (all)
  221.     )
  222.   )
  223. ))
  224. (makedir #dest
  225.   (help @makedir-help)
  226.   (infos)
  227. )
  228.  
  229. ;----------------------------
  230.  
  231. (copyfiles
  232.   (help @copyfiles-help)
  233.   (source ("%s.Slave" #prefix))
  234.   (dest #dest)
  235. )
  236. (if (exists ("%s.glowexot"  #prefix)) ((set #icon 7)(set #icnt (+ 1 #icnt))(set #icon-gex "Exotic GlowIcon")) (set #icon-gex ""))
  237. (if (exists ("%s.newexot"   #prefix)) ((set #icon 6)(set #icnt (+ 1 #icnt))(set #icon-nex "Exotic NewIcon"))  (set #icon-nex ""))
  238. (if (exists ("%s.exoticon"  #prefix)) ((set #icon 5)(set #icnt (+ 1 #icnt))(set #icon-exo "Exoticon"))        (set #icon-exo ""))
  239. (if (exists ("%s.glowicon"  #prefix)) ((set #icon 4)(set #icnt (+ 1 #icnt))(set #icon-glo "Glow Icon"))       (set #icon-glo ""))
  240. (if (exists ("%s.coloricon" #prefix)) ((set #icon 3)(set #icnt (+ 1 #icnt))(set #icon-col "OS3.5 Icon"))      (set #icon-col ""))
  241. (if (exists ("%s.newicon"   #prefix)) ((set #icon 2)(set #icnt (+ 1 #icnt))(set #icon-new "NewIcon"))         (set #icon-new ""))
  242. (if (exists ("%s.romicon"   #prefix)) ((set #icon 1)(set #icnt (+ 1 #icnt))(set #icon-rom "RomIcon"))         (set #icon-rom ""))
  243. (if (exists ("%s.inf"       #prefix)) ((set #icon 0)(set #icnt (+ 1 #icnt))(set #icon-nor "Normal"))          (set #icon-nor ""))
  244. (procedure P_Icon
  245.   (copyfiles
  246.     (help @copyfiles-help)
  247.     (source ("%s.%s" #prefix #icon-suf))
  248.     (newname ("%s.info" #icon-name))
  249.     (dest #icon-dir)
  250.   )
  251.   (tooltype
  252.     (dest (tackon #icon-dir #icon-name))
  253.     (noposition)
  254.   )
  255. )
  256. (if (> #icnt 1) (
  257.   (if (= #newstuff 1) (
  258.     (set #icon-dir ("T:%s Icons" #prefix))
  259.     (makedir #icon-dir
  260.       (help @makedir-help)
  261.     )
  262.     (if #icon-nor ((set #icon-suf "inf")      (set #icon-name "Normal")          (P_Icon)))
  263.     (if #icon-rom ((set #icon-suf "romicon")  (set #icon-name "RomIcon")         (P_Icon)))
  264.     (if #icon-new ((set #icon-suf "newicon")  (set #icon-name "NewIcon")         (P_Icon)))
  265.     (if #icon-col ((set #icon-suf "coloricon")(set #icon-name "OS3.5 Icon")      (P_Icon)))
  266.     (if #icon-glo ((set #icon-suf "glowicon") (set #icon-name "Glow Icon")       (P_Icon)))
  267.     (if #icon-exo ((set #icon-suf "exoticon") (set #icon-name "Exoticon")        (P_Icon)))
  268.     (if #icon-nex ((set #icon-suf "newexot")  (set #icon-name "Exotic NewIcon")  (P_Icon)))
  269.     (if #icon-gex ((set #icon-suf "glowexot") (set #icon-name "Exotic GlowIcon") (P_Icon)))
  270.     (openwbobject #icon-dir)
  271.   ))
  272.   (set #icon
  273.     (askchoice
  274.       (prompt "\nWhich icon would you like to install?\n")
  275.       (choices #icon-nor #icon-rom #icon-new #icon-col #icon-glo #icon-exo #icon-nex #icon-gex)
  276.       (default #icon)
  277.       (help @askchoice-help)
  278.     )
  279.   )
  280.   (if (= #newstuff 1) (
  281.     (closewbobject #icon-dir)
  282.     (delete #icon-dir
  283.       (help @delete-help)
  284.       (all)
  285.     )
  286.   ))
  287. ))
  288. (select #icon
  289.   (set #icon "inf")
  290.   (set #icon "romicon")
  291.   (set #icon "newicon")
  292.   (set #icon "coloricon")
  293.   (set #icon "glowicon")
  294.   (set #icon "exoticon")
  295.   (set #icon "newexot")
  296.   (set #icon "glowexot")
  297. )
  298. (copyfiles
  299.   (help @copyfiles-help)
  300.   (source ("%s.%s" #prefix #icon))
  301.   (newname ("%s.info" #prefix))
  302.   (dest #dest)
  303. )
  304. (if (= #icon "newicon")
  305.   ("")
  306.   (
  307.     (tooltype
  308.       (dest (tackon #dest #prefix))
  309.       (settooltype "Slave")
  310.       (settooltype "PreLoad")
  311.     )
  312.     (tooltype
  313.       (dest (tackon #dest #prefix))
  314.       (settooltype "PreLoad" "")
  315.       (settooltype "Slave" ("%s.Slave" #prefix))
  316.     )
  317.   )
  318. )
  319. (tooltype
  320.   (dest (tackon #dest #prefix))
  321.   (setdefaulttool "WHDLoad")
  322.   (setstack 10240)
  323.   (noposition)
  324. )
  325. (set #copy-file #readme-file)
  326. (P_CopyFile)
  327. (set #copy-file #man-file)
  328. (P_CopyFile)
  329. (set #copy-file #hint-file)
  330. (P_CopyFile)
  331. (set #copy-file #sol-file)
  332. (P_CopyFile)
  333. (set #copy-file #highs-file)
  334. (P_CopyFile)
  335. (P_MakeImages)
  336. (if (= #newstuff 1)
  337.   (openwbobject #dest)
  338. )
  339. (exit)
  340.